package cn.org.eshow.service;

import cn.org.eshow.bean.query.ProductCategoryQuery;
import cn.org.eshow.common.page.Page;
import cn.org.eshow.model.ProductCategory;

import javax.jws.WebService;
import java.util.List;

@WebService
public interface ProductCategoryManager extends GenericManager<ProductCategory, Integer> {

    /**
     * @param query
     * @return
     */
    List<ProductCategory> list(ProductCategoryQuery query);

    /**
     * @param query
     * @return
     */
    Page<ProductCategory> search(ProductCategoryQuery query);

    /**
     * @param productCategory
     * @param sequence
     * @return
     */
    ProductCategory save(ProductCategory productCategory, Integer sequence);

    /**
     * @param query
     * @return
     */
    ProductCategory check(ProductCategoryQuery query);

    /**
     * @param query
     * @return
     */
    long count(ProductCategoryQuery query);

    /**
     * 商品分类删除
     */
    void remove(ProductCategory productCategory);

    /**
     * 给指定节点添加子节点
     * @param parentCategory
     */
    ProductCategory addChild(ProductCategory parentCategory,String childName);


}